<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script src="../assets/lib/axios.js"></script>
    <script>
      // 添加请求拦截器
      axios.interceptors.request.use(
        function (config) {
          // 在发送请求之前做些什么
          console.log("请求拦截器触发了");
          return config;
        },
        function (error) {
          // 对请求错误做些什么
          return Promise.reject(error);
        }
      );

      // 添加响应拦截器
      axios.interceptors.response.use(
        function (response) {
          // 2xx 范围内的状态码都会触发该函数。
          // 对响应数据做点什么
          console.log("响应拦截器触发了");
          return response;
        },
        function (error) {
          // 超出 2xx 范围的状态码都会触发该函数。
          // 对响应错误做点什么
          return Promise.reject(error);
        }
      );
      setTimeout(() => {
        axios({
          url: "http://hmajax.itheima.net/api/province",
        }).then((response) => {
          console.log(response);
        });
      }, 5000);
      /* 
      axios拦截器的介绍小结：
      一：什么是axios拦截器
      axios拦截器是拦截axios请求和请求回来的数据做一个拦截或则筛选
     二 、 axios拦截器的执行过程
      1、先触发axios拦截器的请求拦截器
      2、后触发axios拦截器的响应拦截器
      3、最后才把数据返回到axios手中
      三、axios拦截器可以实现的功能：
      
      */
    </script>
  </body>
</html>
